// 定义一个返回 Promise 的函数
function fetchData(ms) {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            if (true) {
                resolve('数据加载成功！'); // 异步操作成功
            } else {
                reject('数据加载失败。'); // 异步操作失败
            }
        },ms ); // 模拟延迟 1 秒
    });
}

// 使用 Promise
fetchData(1000)
    .then(result => {//走resolve函数
        console.log(result); // 输出: 数据加载成功！
    })
    .catch(error => {//走reject，如果reject不调用catch就不会运行
        console.error(error); // 如果失败会输出错误信息
    });




// 定义一个返回 Promise 的函数
function delay(ms) {
    return new Promise((resolve,reject) => {
        setTimeout(() => {
            resolve('完成了！'); // 异步操作成功
            //reject 这里不吊用catch就不会运行
        }, ms); // 模拟延迟
    });
}

// 使用 Promise
delay(1000) // 延迟 1 秒
    .then(result => {
        console.log(result); // 输出: 完成了！
    })
    .catch(error => {
        console.error(error); // 不会执行
    });





// 使用 async 和 await
async function run() {
    try {
        //await必须在async函数中才能使用
        //result是resolve 和resolve 的参数
        const result = await delay(1000);
        console.log(result); // 输出: 完成了！
    } catch (error) {
        console.error(error);
    }
}

run();
